#include "bObject.h"
#include "bReference.h"
#include "bArray.h"
#include "bString.h"
#include "bTuple.h"
#include "bMap.h"
#include "bRegex.h"
#include <iostream>

class Dummy:public bObject
{
private:
	static unsigned long int _gid;
	const unsigned long int _id;
public:
	Dummy():_id(++_gid){
		std::cout<<"Dummy("<<_id<<");"<<std::endl;
	}
	const long int id(){return _id;}
	~Dummy(){
		std::cout<<"~Dummy("<<_id<<");"<<std::endl;
	}
};

unsigned long int Dummy::_gid=0;

const char* expr = "L?O*L+([abc][def])[:LKJAF]";
const char* check = "LloLaef";

int main(int argc,char** argv)
{
	{
		Regex::Regex myReg(expr);
		if(myReg.match(check))
			std::cout << "Successful match found!\n\t" << expr << "\n\t" << check << std::endl << std::endl;
	}
	std::system("PAUSE");
	return 0;
}